if (!jsx3.lang.Class.forName("ux.cdb.admin.system.sysuser.SysUserStage")) {

    jsx3.Class.defineClass(
        "ux.cdb.admin.system.sysuser.SysUserStage", jsx3.lang.Object, [ux.cdb.admin.AdminStage],
        function (plugin) {
            plugin.instance = null;

            plugin.getInstance = function(args) {
                if(!this.instance) {
                    this.instance = new plugin();
                }
                return this.instance;
            };

            plugin.prototype.getTabText = function() {
                return 'SysUser Stage Page';
            };

            plugin.prototype.getNamespace = function() {
                return "ux.cdb.admin";
            };  

            plugin.prototype.getComponentUIPath = function() {
                return "ux/cdb/admin/system/sysuser/ui/SysUserPage.xml";
            };

			plugin.commonCacheLoaded = false;
            plugin.prototype.loadComponent = function(parent) {
				var me = this;
				setTimeout(function(){
					ux.cdb.admin.CommonCache.loadCache(['INTERNAL_ORG'], this, function(){
						jsx3.log('SysUserStage#loadCommonCache loaded.');
						plugin.commonCacheLoaded = true;
					});
				},0);
				ux.megatron.Main.loadUIResourceAsync(parent, me.getNamespace(), me.getComponentUIPath(), me, me.componentLoaded);
            };
			
            plugin.prototype.componentLoaded = function(objEvent) {
                if (objEvent.status == "SUCCESS") {
                    // TODO: put code what you want do after below.
					jsx3.log('SysUserStage#componentLoaded SUCCESS.');
					objEvent.obj.initialize();
  					var _getCommonCache = function(){
/* @JSC :: begin DEBUG */
						jsx3.log('SysUserStage#_getCommonCache Begin...['+plugin.commonCacheLoaded+']');
/* @JSC :: end */
						if(plugin.commonCacheLoaded === true){
/* @JSC :: begin DEBUG */
							jsx3.log('SysUserStage#componentLoaded _getCommonCache SUCCESS.');
/* @JSC :: end */
							objEvent.obj.setCommonCache();
						}else{
							setTimeout(_getCommonCache,100);
						}
					}
					_getCommonCache();
                } else {
                    if (objEvent.exception) {
                        ux.megatron.Main.logException(objEvent.exception, objEvent.message);
                    }
                    else {
                        jsx3.log(objEvent.message);
                    }
                }
            };
        });
}